home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.20000114-20000217
/
000142_news@columbia.edu _Tue Jan 25 16:57:47 2000.msg
< prev
next >
Wrap
Internet Message Format
|
2020-01-01
|
6KB
Return-Path: <news@columbia.edu>
Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id QAA27704
for <kermit.misc@watsun.cc.columbia.edu>; Tue, 25 Jan 2000 16:57:47 -0500 (EST)
Received: (from news@localhost)
by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id QAA28522
for kermit.misc@watsun.cc.columbia.edu; Tue, 25 Jan 2000 16:51:12 -0500 (EST)
X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
Subject: Case Study #16: Bootstrapping
Date: 25 Jan 2000 21:51:11 GMT
Organization: Columbia University
Message-ID: <86l5sf$rr3$1@newsmaster.cc.columbia.edu>
To: kermit.misc@columbia.edu
Hardly a week passes without a desperate plea like the following
appearing on some newsgroup or other:
Help! I have 20MB of files on a PC with XENIX 2.3.4 [substitute
any other old operating system], which does not have a network
card, and I need to move them to Windows 98! My XENIX PC has only
a 5.25" diskette and my Windows PC has only a 3.5" diskette, and
they have no other media in common.
When there is no network, there are no removable media in common, and
the two computers are not both UNIX (and therefore do not both have
UUCP), Kermit is often the most practical alternative.
But I don't have a copy of Kermit on my XENIX system!
This article tells how to "bootstrap" Kermit onto your old system. The
term "bootstrap" refers to "lifting yourself up by your bootstraps"; a
paradox (similar to recursion, which we discussed earlier). In this case,
the paradox is: "In order to get Kermit onto your computer, you must get
Kermit on your computer". It's easier than it seems! The key is
G-Kermit, announced here a month ago:
http://www.columbia.edu/kermit/gkermit.html
G-Kermit is a compact and portable Kermit program. All it does is
transfer files -- no frills, no conveniences. It's small enough to load
into your computer without an error-detecting and -correcting protocol.
For bootstrapping, we supply uuencoded compressed binaries that are several
hundreds lines long each. All you have to do is put the the appropriate
one on the target computer, uudecode it, and uncompress it. You could do
this via diskette or any other means at your disposal, but let's assume
the serial port is your only option, and that the target computer:
. Can be connected to a PC with a null modem cable (or by modem dialup);
. Is set up to allow logins on its serial port.
and that the PC is running DOS or Windows, not UNIX, just so we can
illustrate the general principals of bootstrapping without relying on
UNIX-specific tricks. Let's also assume you know how to make the
connection.
Here are the steps:
1. Determine whether the target computer has gunzip. Just type
"gunzip" and look at the response. If it says something like
"gunzip: compressed data not read from a terminal" then you have
gunzip. If it says something like "gunzip: command not found",
you don't.
2. FTP the appropriate uuencoded binary to your PC. Get the .gz.uue
version if the target computer has gunzip, otherwise get the .Z.uue
version. The uuencoded compressed G-Kermit binaries are in:
ftp://kermit.columbia.edu/kermit/uue/
3. Use your terminal program on the PC to log in to the target computer
via the serial-port or modem connection.
4. Once you have the shell prompt on the target computer, give an stty
command to set up the appropriate kind of flow control. Use RTS/CTS
(hardware flow control) if it is supported by your cable and by the
target operating system; otherwise use Xon/Xoff. The UNIX stty
command depends on the UNIX version. Here are some examples:
stty crtscts (for RTS/CTS)
stty rtsxoff ctsxon (for RTS/CTS)
stty crtsxoff crtscts (for RTS/CTS)
stty ixon ixoff -ixany (for Xon/Xoff)
The command for Xon/Xoff is fairly well standardized; the one for
hardware flow control is different almost everywhere. "man stty"
tells you what the command is (if any) on your UNIX system.
5. Set your terminal program to use the same kind of flow control. If
your PC terminal program is from the Kermit Project, the command
would be SET FLOW RTS/CTS or SET FLOW XON/XOFF.
6. At the shell prompt, type:
cat > x.uue
Now UNIX expects you to "type" commands into the x.uue file.
7. Return to your terminal program and tell it to send the uuencoded
G-Kermit program using "ASCII" protocol. In Kermit Project software
the command is TRANSMIT. Example:
transmit gku100.i386-xenix-2.3.4.Z.uue
8. When the upload is finished, return to the terminal screen and type
Ctrl-D (hold down the Ctrl key and press the 'd' key). This closes
the x.uue file on UNIX. You should get the UNIX shell prompt back
(if you don't, press the Enter or Return key and then Ctrl-D again).
9. At the UNIX shell prompt, type "uudecode x.uue". This should produce
a file called either gkermit.Z or gkermit.gz, depending on the
compression method.
10. If it's gkermit.Z, type "uncompress gkermit.Z". If it's gkermit.gz,
type "gunzip gkermit.gz". If you get any complaints like "gunzip:
gkermit.gz: invalid compressed data--crc error", go back and repeat
steps 6-10, perhaps reducing the serial speed on each end first.
Note that gunzip catches transmission errors, but uncompress doesn't.
This is another reason to use gunzip if you can.
11. At the UNIX shell prompt, type "chmod +x gkermit".
12. At the UNIX shell prompt, type "./gkermit". You should see the
G-Kermit help text. If something horrible happens instead, go back
to Step 6, perhaps reducing the serial port speed first.
Now you have a Kermit program on your UNIX computer. See the G-Kermit
web page for documentation.
G-Kermit might be all you need to get the critical files off your old
UNIX computer. But in case you need the more advanced features of
C-Kermit (automatic text/binary mode switching, directory-tree transfer,
atomic file movement, character-set conversion, scripting), now you can
use G-Kermit to transfer the appropriate C-Kermit binary to the same
computer.
- Frank